package com.wtb.javatool.service;

import com.wtb.javatool.common.PageResult;
import com.wtb.javatool.vo.StuApplyDetailDto;
import com.wtb.javatool.vo.StuApplyDto;
import com.wtb.javatool.vo.StuApplyRecordPageDto;
import com.wtb.javatool.vo.StuAuthDto;

import java.util.List;

public interface IStuApplyService {
    /**
     * 学生申请分页查询
     * @param pageNum
     * @param pageSize
     * @param name
     * @return
     * */

    PageResult stuApplypageQuery1(int pageNum, int pageSize, String name);



    /**
     * 学生申请记录分页查询
     * @param stuApplyRecordPageDTO
     * @return
     * */
    PageResult stuApplyRecordpageQuery(StuApplyRecordPageDto stuApplyRecordPageDTO);

    /**
     * 学生授权
     * @param stuAuthDTO
     * */
    void doAuthorize(StuAuthDto stuAuthDTO);

    /**
     * 教师授权后分页查询
     * @param pageNum
     * @param pageSize
     * @param name
     * @return
     * */
    PageResult stuApplypageQuery2(int pageNum, int pageSize, String name);

    /**
     * 新建申请
     * @param stuApplyDTO
     * @return
     * */
    void newApply(StuApplyDto stuApplyDTO);

    /**
     * 管理员授权
     * @param id
     * @return
     * */
    void adminDoAuthorize(int id);

    /**
     * 管理员拒绝
     * @param id
     * @return
     * */
    void adminReject(int id);

    List<StuApplyDetailDto> stuListAll();

    void teacherReject(int id, String rejectReason);

    void teacherDoAuthorize(int id);

    void techerStunewApply(StuApplyDto stuApplyDTO);
}
